This application is based on an application No. 10-254787 filed in Japan, the content of which is hereby incorporated by reference.
1. Field of the Invention
The present invention relates to an operation indication outputting device for detecting a motion of the operation indication outputting device caused by a user""s action and outputting an operation indication according to the detection result.
2. Description of the Prior Art
In virtual reality and other technologies, display control and operation indication are performed by digitally coding a movement of a person with position sensors (e.g. 3SPACE system made by Polhemus, Inc.) which use data gloves or magnetic transducing techniques and inputting generated codes into a computer. With the recent development of smaller and more accurate motion detection sensors such as acceleration sensors, several techniques are disclosed whereby such sensors are incorporated into a portable information processing apparatus to detect a motion of the body of the apparatus so that information processing is performed according to the detected motion.
For instance, Japanese Laid-Open Patent Application 6-4208 discloses a device that is equipped with a sensor for detecting a motion of the device and a motion analyzing unit for determining a direction, travel, and number of occurrence of movement or rotation of the device based on data outputted from the sensor, thereby designating the contents of processing according to the determined direction, travel, and number of occurrence of the motion. When this device is vertically and/or horizontally moved, the inside sensor detects the motion and outputs data of the motion, based on which the motion analyzing unit calculates the vertical travel and horizontal travel of the device. As a result, a display such as text on a liquid crystal display panel is scrolled sideways or up and down by a number of pixels corresponding to the calculated travel, or a cursor displayed on the display panel is moved sideways or up and down by the number of pixels.
However, this conventional device does not distinguish certain types of actions such as xe2x80x9cswingxe2x80x9d and xe2x80x9ctapxe2x80x9d made by a user against the body of the device, so that a selection of operations which can be designated is limited. Besides, when the user accidentally bumps the device against something while moving the device, an operation which the user does not intend may be designated by mistake.
In view of the above problems, the present invention aims to provide an operation indication outputting device that can give a wide variety of operation indications while preventing malfunctions, and a computer-readable storing medium that stores a program for realizing the function of the operation indication outputting device.
The stated object can be fulfilled by an operation indication outputting device for outputting an operation indication to an information processing apparatus to have the information processing apparatus perform processing based on the outputted operation indication, the operation indication outputting device including: a storing unit for storing operation indications that each correspond to a combination of a type of a user""s action and at least one of a direction, a strength, and a number of occurrence of a motion of the operation indication outputting device caused by the user""s action; a motion detecting unit for detecting a motion of the operation indication outputting device caused by the user""s action; a motion analyzing unit for analyzing at least one of a direction, a strength, and a number of occurrence of the detected motion; a user action analyzing unit for analyzing a type of the user""s action that causes the detected motion; and an outputting unit for reading, from the storing unit, an operation indication corresponding to a combination of an analysis result by the motion analyzing unit and an analysis result by the user action analyzing unit, and outputting the read operation indication to the information processing apparatus.
With this construction, the operation indication outputting device can have the information processing apparatus perform various processing by identifying the type of the action made by the user against the operation indication outputting device.
Here, the motion detecting unit may detect acceleration levels of the motion of the operation indication outputting device over time, wherein the motion analyzing unit analyzes at least one of the direction, the strength, and the number of occurrence of the motion by integrating, with respect to time, the acceleration levels outputted from the motion detecting unit.
With this construction, the motion of the operation indication outputting device can be detected with low-priced acceleration sensors, and at least one of the direction, strength, and number of occurrence of the motion can be analyzed by a simple procedure.
Here, the user action analyzing unit may include a fast Fourier transform analyzing unit for obtaining a frequency distribution by performing a fast Fourier transform on a curve produced by graphing the acceleration levels outputted from the motion detecting unit against time, to analyze the type of the user""s action.
With this construction, the type of the user""s action can be identified with respect to frequency by analyzing the frequency distribution.
Here, the user action analyzing unit may further include an output prohibiting unit for prohibiting the outputting unit to output the operation indication if a peak value in the obtained frequency distribution is any of below a first frequency and above a second frequency.
With this construction, it is possible to prevent the information processing apparatus from performing wrong processing in the event of an accident such as the user dropping the operation indication outputting device.
Here, the user action analyzing unit may include a differential analyzing unit for differentiating, according to a predetermined equation, a curve produced by graphing the acceleration levels outputted from the motion detecting unit against time, to analyze the type of the user""s action.
With this construction, the type of the user""s action can be judged by a simple procedure.
Here, the user action analyzing unit may further include an output prohibiting unit for prohibiting the outputting unit to output the operation indication if a mean value of differential values calculated by the differential analyzing unit is any of below a first threshold value and above a second threshold value.
With this construction, it is possible to prevent the information processing apparatus from performing wrong processing in the event of an accident such as the user dropping the operation indication outputting device.
Here, the user action analyzing unit may include a wavelet transform analyzing unit for detecting specific frequency components by performing a wavelet transform on a curve produced by graphing the acceleration levels outputted from the motion detecting unit against time, to analyze the type of the user""s action.
With this construction, the type of the user""s action can be accurately specified by analyzing frequency composition.
Here, the storing unit may further store operation indications that each correspond to an order of a plurality of types of the user""s actions, wherein the user action analyzing unit further includes an action sequence analyzing unit for analyzing types of the user""s actions that cause the motion, according to an order in which the detected specific frequency components appear, and wherein the outputting unit includes an order-corresponding operation indicating unit for reading, from the storing unit, an operation indication corresponding to an order of the types of the user""s actions analyzed by the action sequence analyzing unit, and outputting the read operation indication to the information processing apparatus.
With this construction, a choice of operation indications which can be outputted to the information processing apparatus is further diversified.
Here, the user action analyzing unit may include a time analyzing unit for measuring, for each of a plurality of reference values, time during which the reference value is exceeded by absolute values of a sequence of acceleration levels among the acceleration levels outputted from the motion detecting unit, to analyze the type of the user""s action.
With this construction, the type of the user""s action can be specified with reference to the plurality of reference values.
Here, the user action analyzing unit may further include an output prohibiting unit for prohibiting the outputting unit to output the operation indication if at least one of absolute values of the outputted acceleration levels is any of below a first threshold value and above a second threshold value.
With this construction, it is possible to prevent the information processing apparatus from performing wrong processing in the event of an accident such as the user dropping the operation indication outputting device.
Here, the motion detecting unit may detect acceleration levels of the motion of the operation indication outputting device over time, wherein for each of a plurality of reference values, when the reference value is exceeded by absolute values of a sequence of acceleration levels among the acceleration levels outputted from the motion detecting unit, the motion analyzing unit analyzes a sign of an acceleration level whose absolute value first exceeds the reference value in the sequence of acceleration levels, and measures time during which the reference value is exceeded by the absolute values of the sequence of acceleration levels, thereby analyzing at least one of the direction, the strength, and the number of occurrence of the motion, and wherein the user action analyzing unit analyzes the type of the user""s action based on the time measured by the motion analyzing unit.
With this construction, the type of the user""s action can be identified by simply measuring a period for each of the plurality of reference values during which absolute values of detected acceleration levels exceed the reference value. In doing so, the operation indication outputting device can have the information processing apparatus execute various processing.
Here, the plurality of reference values may be made up of a first reference value and a second reference value larger than the first reference value, wherein the user action analyzing unit includes an output prohibiting unit for prohibiting the outputting unit to output the operation indication, any of if time during which the first reference value is exceeded is shorter than predetermined first time and if time during which the second reference value is exceeded is longer than predetermined second time.
With this construction, it is possible to prevent the information processing apparatus from performing wrong processing in the event of an accident such as the user dropping the operation indication outputting device.
Here, the first reference value may be set at a value corresponding to an acceleration level which is to be detected when the user swings the operation indication outputting device, wherein the second reference value is set at a value corresponding to an acceleration level which is to be detected when the user taps the operation indication outputting device, and wherein the user action analyzing unit analyzes whether the type of the user""s action is xe2x80x9cswingxe2x80x9d or xe2x80x9ctapxe2x80x9d.
With this construction, the type of the user""s action can be specified as xe2x80x9cswingxe2x80x9d or xe2x80x9ctapxe2x80x9d by setting the first and second reference values respectively at values corresponding to, for example, 1 G and 2.5 G (G denotes the acceleration of gravity).
Here, the motion detecting unit may detect angular acceleration levels of the motion of the operation indication outputting device over time, wherein the motion analyzing unit analyzes at least one of the direction, the strength, and the number of occurrence of the motion by integrating, with respect to time, the angular acceleration levels outputted from the motion detecting unit.
With this construction, the operation indication outputting device can also analyze a rotary motion originated from the user""s wrist when the user rotates the operation indication outputting device by hand, thereby further diversifying a choice of operation indications which can be outputted to the information processing apparatus.
Here, the user action analyzing unit may include a fast Fourier transform analyzing unit for obtaining a frequency distribution by performing a fast Fourier transform on a curve produced by graphing the angular acceleration levels outputted from the motion detecting unit against time, to analyze the type of the user""s action.
With this construction, the type of the user""s action can be identified on the basis of an analysis of the frequency distribution.
Here, the motion detecting unit may detect angular acceleration levels of the motion of the operation indication outputting device over time, wherein for each of a plurality of reference values, when the reference value is exceeded by absolute values of a sequence of angular acceleration levels among the angular acceleration levels outputted from the motion detecting unit, the motion analyzing unit analyzes a sign of an angular acceleration level whose absolute value first exceeds the reference value in the sequence of angular acceleration levels, and measures time during which the reference value is exceeded by the absolute values of the sequence of angular acceleration levels, thereby analyzing at least one of the direction, the strength, and the number of occurrence of the motion, and wherein the user action analyzing unit analyzes the type of the user""s action based on the time measured by the motion analyzing unit.
With this construction, the type of the user""s action can be identified by simply measuring a period for each of the plurality of reference values during which absolute values of detected angular acceleration levels exceed the reference value. As a result, the operation indication outputting device can have the information processing apparatus perform various processing.
The stated object can also be fulfilled by an operation indication outputting device which is incorporated into a mobile phone that is an information processing apparatus, wherein a processing mode of the mobile phone is changed according to an operation indication outputted from an outputting unit of the operation indication outputting device.
With this construction, the operability of the mobile phone which incorporates the operation indication outputting device is improved.
The stated object can also be fulfilled by a mobile phone that incorporates an operation indication outputting device for outputting an operation indication to the mobile phone to have the mobile phone perform processing based on the outputted operation indication, the operation indication outputting device including: a storing unit for storing operation indications that each correspond to a combination of a type of a user""s action and at least one of a direction, a strength, and a number of occurrence of a motion of the operation indication outputting device caused by the user""s action; a motion detecting unit for detecting a motion of the operation indication outputting device caused by the user""s action; a motion analyzing unit for analyzing at least one of a direction, a strength, and a number of occurrence of the detected motion; a user action analyzing unit for analyzing a type of the user""s action that causes the detected motion; and an outputting unit for reading, from the storing unit, an operation indication corresponding to a combination of an analysis result by the motion analyzing unit and an analysis result by the user action analyzing unit, and outputting the read operation indication to the mobile phone, wherein a processing mode of the mobile phone is changed according to the operation indication outputted from the outputting unit.
With this construction, the operability of the mobile phone which incorporates the operation indication outputting device is improved.
The stated object can also be fulfilled by a computer-readable storing medium storing a program executed by an operation indication outputting device that is equipped with a detecting unit for detecting a motion of the operation indication outputting device caused by a user""s action and outputs an operation indication to an information processing apparatus to have the information processing apparatus perform processing based on the outputted operation indication, the program including: a motion analyzing step for analyzing at least one of a direction, a strength, and a number of occurrence of the motion detected by the detecting unit; a user action analyzing step for analyzing a type of the user""s action that causes the detected motion; and an outputting step for reading, from an storing unit which stores operation indications that each correspond to a combination of a type of the user""s action and at least one of a direction, a strength, and a number of occurrence of a motion of the operation indication outputting device caused by the user""s action, an operation indication corresponding to a combination of an analysis result obtained in the motion analyzing step and an analysis result obtained in the user action analyzing step, and outputting the read operation indication to the information processing apparatus.
With this construction, the operation indication outputting device equipped with the motion detecting unit can be rendered a device that can output a wide variety of operation indications.